#ifndef _SYSTEMCLASS_H_
#define _SYSTEMCLASS_H_


#define WIN32_LEAN_AND_MEAN


#include <windows.h>
#include "inputclass.h"
#include "graphicsclass.h"

class SystemClass
{
public:
	SystemClass();

	bool Initialize(bool isfullscreen);
	void Shutdown();
	void Run();

	LRESULT CALLBACK MessageHandler(HWND, UINT, WPARAM, LPARAM);

private:
	bool Frame();
	void InitializeWindows();
	void ShutdownWindows();

private:
	LPCWSTR		m_applicationName;
	HINSTANCE	m_hinstance;
	HWND		m_hwnd;

	unsigned int m_screenwidth;
	unsigned int m_screenheight;
	bool m_fullscreen;

	InputClass		*m_Input;
	GraphicsClass	*m_Graphics;
};

static LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
static SystemClass* ApplicationHandle = 0;

#endif